import pygame
SCREEN_RECT = pygame.Rect(0,0,480,700)

class GameSprite(pygame.sprite.Sprite):
    '''游戏精灵类'''
    res_path = "./res/images/"
    def __init__(self , image_name,speed,*groups):
        '''
        构造方法
        :param image_name:要加载的图片文件名
        :param speed:移动速度,0表示静止
        :param groups:要添加到的精灵组,不传值不添加
        '''
        super().__init__(*groups)
        #图像
        self.image = pygame.image.load(self.res_path +image_name)
        self.rect = self.image.get_rect()           #矩形区域,默认在左上角
        self.speed  = speed                         #移动速度

    def update(self,*args):
        '''更新精灵位置.默认在垂直方向移动'''
        self.rect.y += self.speed

class Background(GameSprite):
    '''背景精灵类'''
    def __init__(self,is_alt,*groups):
        #调用父类方法实现精灵的创建
        super().__init__("background.png",1,*groups)
        #判断是否是另一个精灵，如果是 ，需要初始位置
        if is_alt:
            self.rect.y = -self.rect.h
    def update(self,*args):
        #调用父类的方法实现向下运动
        super().update(*args)
        #判断是否移出屏幕，如果移出屏幕，将图像设置到屏幕最上方
        if self.rect.y >= self.rect.h:
            self.rect.y = -self.rect.h
